package com.huawei.crm.web.domain;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 系统处理结果响应状态码
 *
 * @author luohua
 * @date 2021年12月30日17:19:53
 */
@Getter
@AllArgsConstructor
public enum ResultCode {

    /**
     * 成功，业务处理完成
     */
    SUCCESS(200, "成功"),

    /**
     * 失败，业务处理失败
     */
    FAILED(201, "失败"),

    /**
     * 数字签名无效
     */
    SIGN_INVALID(202, "数字签名无效"),

    /**
     * 请求参数校验不通过
     */
    PARAM_INVALID(203, "参数校验不通过"),

    /**
     * 请求重复
     */
    REPEAT_REQUEST(204, "重复请求"),

    /**
     * 用户不存在
     */
    USER_NOT_EXIST(205, "用户不存在"),

    /**
     * 用户密码不正确
     */
    USER_PASSWORD_INCORRECT(206, "用户名或密码错误"),

    /**
     * 客户端认证失败
     */
    CLIENT_AUTHENTICATION_FAILED(212, "客户端认证失败"),

    /**
     * 短信验证码错误
     */
    SMS_CODE_ERROR(213, "短信验证码错误"),

    /**
     * 参数重复
     */
    PARAM_EXIST(400, "参数重复"),

    /**
     * 未登录或者token失效
     */
    UNAUTHORIZED(401, "未登录或者token失效"),

    /**
     * 没有访问权限
     */
    ACCESS_UNAUTHORIZED(403, "没有访问权限"),

    /**
     * 请求路径不存在
     */
    NOT_FOUND(404, "请求路径存在"),

    /**
     * 账号已被冻结，请联系管理员！
     */
    ACCOUNT_LOCKED(423, "账号已被冻结，请联系管理员！"),

    /**
     * 服务器异常
     */
    EXCEPTION(500, "服务器内部异常"),

    /**
     * 支付方式不存在
     */
    PAYTYPE_NOT_EXIST(601, "支付方式不存在"),

    /**
     * 支付方式已经存在
     */
    PAYTYPE_ALREADY_EXISTS(602, "支付方式已经存在"),

    /**
     * 无效文件类型
     */
    INVALID_FILE_TYPE(603, "无效文件类型"),

    /**
     * 理由信息已经存在
     */
    REASON_ALREADY_EXISTS(610, "理由信息已经存在"),

    /**
     * 理由信息不存在
     */
    REASON_NOT_EXIST(611, "理由信息不存在"),

    /**
     * 附加费类型已经存在
     */
    CHARGE_TYPE_ALREADY_EXISTS(620, "附加费类型已经存在"),

    /**
     * 附加费类型不存在
     */
    CHARGE_TYPE_NOT_EXIST(621, "附加费类型不存在"),

    /**
     * 角色不存在
     */
    ROLE_NOT_EXIST(630, "角色不存在"),

    /**
     * 公司不存在
     */
    COMPANY_NOT_EXIST(2001, "公司不存在"),

    /**
     * 公司状态无效
     */
    COMPANY_STATUS_INVALID(2002, "公司状态无效"),

    /**
     * 门店不存在
     */
    STORE_NOT_EXIST(3001, "门店不存在"),

    /**
     * 商品不存在
     */
    GOODS_NOT_EXIST(4001, "商品信息不存在"),

    /**
     * 商品状态无效
     */
    GOODS_ERROR_STATUS(4002, "商品状态无效"),

    /**
     * 商品做法不存在
     */
    GOODS_METHOD_NOT_EXIST(4003, "商品做法信息不存在"),

    /**
     * 商品加料不存在
     */
    GOODS_MIX_NOT_EXIST(4004, "商品加料信息不存在"),

    /**
     * 商品已经售罄
     */
    GOODS_SOLD_OUT(4005, "商品已经售罄"),

    /**
     * 订单不存在
     */
    ORDER_NOT_EXIST(4101, "订单不存在"),

    /**
     * 订单支付金额不正确
     */
    PAY_AMOUNT_INVLID(4102, "订单支付金额不正确"),

    /**
     * 支付方式错误或不支持
     */
    PAY_TYPE_INVALID(4103, "支付方式错误或不支持"),

    /**
     * 付款码参数无效
     */
    AUTH_CODE_INVALID(4104, "付款码参数无效"),

    /**
     * 订单状态无效
     */
    ORDER_STATUS_INVALID(4105, "订单状态无效"),

    /**
     * 当前订单存在未完成的支付交易记录
     */
    TRADE_NOT_COMPLETED(4106, "当前订单存在未完成的支付交易记录，请稍后再试或取消订单"),

    /**
     * 支付账号未配置
     */
    PAY_ACCOUNT_NOT_EXIST(4107, "支付账号未配置"),

    /**
     * 支付成功
     */
    TRADE_PAY_SUCCESS(4200, "支付成功"),

    /**
     * 等待用户付款
     */
    WAIT_BUYER_PAY(4203, "等待用户付款"),

    /**
     * 支付失败
     */
    TRADE_PAY_FAIL(4204, "支付失败"),

    /**
     * 系统异常
     */
    TRADE_PAY_ERROR(4205, "系统异常"),

    /**
     * 交易订单不存在
     */
    TRADE_NOT_EXIST(4210, "交易订单不存在"),

    /**
     * 交班单不存在
     */
    HANDOVER_NOT_EXIST(4300, "交班单不存在"),

    /**
     * 交班未完成，存在支付中订单
     */
    HANDOVER_NOT_COMPLETED(4301, "交班未完成"),

    /**
     * 不允许该操作
     */
    OPERATION_NOT_ALLOWED(5001, "不允许该操作"),

    /**
     * 没有接口调用权限
     */
    METHOD_NOT_ALLOWED(5002, "没有接口调用权限"),

    /**
     * 购物车缺少商品信息
     */
    SHOP_CART_EMPTY(6001, "购物车缺少商品信息");

    private final int code;
    private final String message;

    public int code() {
        return code;
    }

    public String message() {
        return message;
    }

}
